# Project 5 超音波センサー ### **1.説明** ![](media/A109.png) HC-SR04超音波センサーは、コウモリが行うようにソナーを使って物体までの距離を測定します。高精度で安定した読み取りが可能な非接触距離検出を簡単に利用できるパッケージで提供します。超音波送信モジュールと受信モジュールがセットになっています。 ![Img](media/A110.png) HC-SR04または超音波センサーは、障害物検知や距離測定アプリケーションをはじめ、さまざまな電子プロジェクトで広く使われています。ここでは、Arduinoと超音波センサーを使った距離測定の簡単な方法と、Arduinoでの超音波センサーの使い方を紹介します。 ### **2.仕様** - 動作電圧 : +5V DC - 待機電流 : \<2mA - 動作電流 : 15mA - 有効角度 : \<15° - 測定距離範囲 : 2cm – 300 cm - 精度 : 0.3 cm - 測定角度 : 30度 - トリガ入力パルス幅 : 10μS ![](media/A111.png) ### **3.部品** | 開発ボード *1 | 8833 モータードライバー *1 | 赤色LEDモジュール*1 | 超音波センサー*1 | | ------------------------- | ------------------------- | ------------------------- | ------------------------- | | ![img](media/A112.jpg) | ![img](media/A113.jpg) | ![img](media/A114.jpg) | ![img](media/A115.jpg) | | 4P デュポン線*1 | USBケーブル*1 | 3P デュポン線*1 | | | ![img](media/A116.jpg) | ![img](media/A117.jpg) | ![img](media/A118.jpg) | | ### **4.動作原理** 上の写真のように、2つの目のような形をしています。1つは送信側、もう1つは受信側です。 超音波モジュールはトリガ信号を受けると超音波を発信します。超音波が物体に当たり反射して戻ってくると、モジュールはエコー信号を出力します。これにより、トリガ信号とエコー信号の時間差から物体までの距離を測定できます。 tは信号が障害物に当たり戻ってくるまでの時間です。空気中の音速は約343m/sで、距離 = 速度 × 時間です。ただし、超音波は往復するため距離の2倍の時間がかかります。したがって、2で割る必要があり、超音波で測定した距離 = (速度 × 時間) / 2 となります。 **超音波モジュールの使用方法とチャート:** 1). GPIOピンを使ってSR04のTrigピンに少なくとも10μsの高レベル信号を与え、距離測定をトリガします。 2). トリガ後、モジュールは自動的に8回の40KHz超音波パルスを送信し、信号の戻りを検出します。この処理はモジュールが自動で行います。 3). 信号が戻ると、Echoピンは高レベルを出力し、その高レベルの継続時間が超音波送信から戻りまでの時間となります。 ![image-20250509143833078](media/A119.png) **超音波センサーの回路図:** ![](media/A120.jpeg) ### **5.配線図** ![](media/A121.png) 超音波センサーのVCC、Trig、Echo、Gndはそれぞれ5V(V)、D12、D13、Gnd(G)に接続します。 ### **6.テストコード** コードを書く前に、超音波センサーのライブラリファイルをインポートする必要があります。具体的な手順は以下の通りです: ![](media/A29.png)をクリックしてセンサー/モジュール/コンポーネントの拡張ライブラリ画面に入り、「**Ultrasonic**」センサーを検索し ![](media/A122.png)をクリックします。これで「**Not loaded**」が「**loaded**」に変わり、「**Ultrasonic**」センサーが正常に追加されたことを示します。 ![Img](media/A123.png) ![](media/A124.png) ![](media/A33.png)をクリックしてコードエディタ画面に戻ると、追加した「**Ultrasonic**」センサーの命令ブロックがモジュールエリアに表示されます。 ![](media/A125.png) ブロックをドラッグして編集できます。以下のブロックは参考用です。 (1).![](media/A126.png) (2).![](media/A127.png) (3).![](media/A128.png) (4).![](media/A129.png) (5).![](media/A130.png) (6).![](media/A131.png) (7).![](media/A132.png) **完全なテストコード** ![](media/A133.png) ### **7.テスト結果** コードをV4.0ボードに正常にアップロードした後、配線図に従って配線を接続し、USBケーブルでコンピュータに接続してボードに電源を供給します。電源を入れたら、![](media/A80.png)をクリックしてボーレートを9600に設定します。 検出された距離が表示され、単位はcmとinchです。超音波センサーを手で遮ると、表示される距離の値が小さくなります。 ![](media/A134.png) ### **8.拡張練習** 超音波で距離を測定して表示しました。測定した距離でLEDを制御してみませんか?試してみましょう。LEDライトモジュールをD9ピンに接続します。 ![](media/A135.png) ブロックをドラッグして編集できます。以下のブロックは参考用です。 (1).![](media/A126.png) (2).![](media/A136.png) (3).![](media/A128.png) (4).![](media/A137.png) (5).![](media/A130.png) (6).![](media/A138.png) (7).![](media/A132.png) **完全なテストコード** ![](media/A139.png) ![](media/A140.png) コードをV4.0ボードに正常にアップロードした後、配線図に従って配線を接続し、USBケーブルでコンピュータに接続してボードに電源を供給します。電源を入れたら、超音波センサーを手で遮ってください(距離は2〜10cmの間)。その後、LEDが点灯するか確認します。